/**
 * @Author:  renyc
 * @Date: 2023年3月2日20:38:19
 */
'use strict'; 

/**
 * @Date: 2023年3月2日20:42:45
 */
class DataSourceCollection{
    constructor(){

        /**
         * DataSource数组
         */
        this._sources = [];
    }

    /**
     * 添加source
     * @Date 2023年3月2日20:48:36
     * @param {*} source 
     */
    add(source){
        if(source){
            this._sources.push(source);
        }
    }

    /**
     * 删除source
     * @param {} name 
     * @returns 
     */
    remove(name){
        if(!name){
            return false;
        }
        let count = this._sources.length;
        for(let i = 0; i < count; i++){
            if(this._sources[i].name === name){
                this._sources.splice(i, 1);
                return true;;
            }
        }
        return false;
    }

    /**
     * 获取DataSource
     * @Date 2023年3月2日20:48:51
     * @param {} name 
     * @returns 
     */
    get(name){
        if(!name){
            return undefined;
        }
        let count = this._sources.length;
        for(let i = 0; i<count; i++){
            if(this._sources[i].name === name){
                return this._sources[i];
            }
        }
        return undefined;
    }
}

export default DataSourceCollection;